package com.taikang.hmp.frame.common.web;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.taikang.hmp.frame.common.TKException;
import com.taikang.hmp.frame.common.validate.RequestItemCount;
import com.taikang.hmp.hbusiness.doctor.register.action.intface.LoginAction;

public class ActionMethodRegistry {
	    private static Logger logger = LoggerFactory.getLogger(LoginAction.class);
	      
	    private static Map<String,CheckItem> ACTION_REGISTRY = new ConcurrentHashMap<String,CheckItem>();
	
		private static ActionMethodRegistry actionRegistry = new ActionMethodRegistry();
		
		
		
		private ActionMethodRegistry(){
			if(ACTION_REGISTRY == null){
				ACTION_REGISTRY = new ConcurrentHashMap<String,CheckItem>();
			}
			
			
			//是否校验checkStr;是否校验session;是否校验uid;requestlist中元素可能个数
			//网页
			ACTION_REGISTRY.put("server.doctor.diabetes.login.do.login"                  	,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.login.do.taipinglogin"                  	,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.getBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.addBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.deleteBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.activation.do.getActivationList" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
	
			//咨询 
			ACTION_REGISTRY.put("server.doctor.doctor.Information.do.getInformationList" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.Information.do.saveInformation" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.Information.do.deleteInformation" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
		
			ACTION_REGISTRY.put("server.doctor.diabetes.roleManagement.do.getAllRole"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.userManagement.do.getAllUser"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			
			
			ACTION_REGISTRY.put("app.doctor.diabetes.sugarView.do.showSugarChart"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugarView.do.showSugarTable"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.pressureView.do.showPressureChart"     ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));			
			ACTION_REGISTRY.put("app.doctor.diabetes.medicineView.do.showMedicineChart"     ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));			
			ACTION_REGISTRY.put("app.doctor.diabetes.medicineView.do.showMedicineTable"     ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));			
			ACTION_REGISTRY.put("app.doctor.diabetes.hemoglobinView.do.showHemoglobinChart" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.mealView.do.getMealTable"              ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.mealView.do.getMealChart"              ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sportView.do.showSportTable"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sportView.do.showSportRecord"          ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sportView.do.showSportChart"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.weightView.do.showWeightChart"         ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.guideView.do.getGuidance"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugarView.do.showSugarReport"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.informationView.do.showQuestion"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.talkView.do.getHealtherInfo"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.login"                  	    ,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.identify"                     ,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.identify1"                     ,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.passreset"                    ,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.passreset1"                    ,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.regist"                   	,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//高糖【泰康医生】
			ACTION_REGISTRY.put("app.doctor.diabetes.login.do.login4Doctor"                   	,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.saveSugar4Doctor"                   	,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.delSugar4Doctor"                   	,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.getSugarList4Doctor"                   	,new CheckItem(Boolean.TRUE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.user.do.saveBaseinfo"                  ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.user.do.getBaseinfo"                   ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.EMPTY_OR_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.user.do.getBmi"                        ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.hemoglobin.do.saveHemoglobin"          ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.hemoglobin.do.getHemoglobinList"       ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.meal.do.saveMeal"                      ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.meal.do.getMealList"                   ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.meal.do.getDayMealList"                ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.meal.do.getDayStandardMealList"        ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.medicine.do.getMedicineList"           ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.EMPTY_OR_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.medicine.do.saveMedicinePlan"          ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.medicine.do.getMedicinePlan"           ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.medicine.do.saveMedicineUse"           ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.pressure.do.savePressure"              ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.pressure.do.getPressureList"           ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.sport.do.saveSport"                    ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.saveSugarPlan"                ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.getSugarPlan"                 ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.saveSugar"                    ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.delSugar"                    ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.getSugarList"                 ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.sugar.do.getPlanSugarCount"            ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.warn.do.getWarnList"                   ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.warn.do.setWarnState"                  ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.warn.do.getWarnCount"                  ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.weight.do.saveWeight"                  ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.weight.do.getWeightList"               ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.weight.do.saveWeight"                  ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.weight.do.getWeightList"               ,new CheckItem(Boolean.TRUE ,Boolean.TRUE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//指导
			ACTION_REGISTRY.put("app.doctor.diabetes.guide.do.getGuidanceList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.guide.do.setGuidanceState"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.guide.do.getGuidanceCount"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//报告
			ACTION_REGISTRY.put("app.doctor.diabetes.report.do.getReportList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.report.do.setReportState"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.report.do.getReportCount"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//热点问题
			ACTION_REGISTRY.put("app.doctor.diabetes.information.do.getHotQuestionList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.information.do.getHotQuestionDetail"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//咨询管理
			ACTION_REGISTRY.put("app.doctor.diabetes.talk.do.getTalkList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.talk.do.getHealtherInfo"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.talk.do.sendTalkInfo"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//家人管理
			ACTION_REGISTRY.put("app.doctor.diabetes.family.do.getFriendList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.family.do.addFriend"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.family.do.delFriend"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.family.do.confirmFriend"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.TRUE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//
			ACTION_REGISTRY.put("app.doctor.diabetes.version.do.getVersion"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//健康咨询
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getMessageList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getMessageTop"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getMessage"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getMessageH"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//点赞
			ACTION_REGISTRY.put("app.doctor.diabetes.clicklike.do.savelikeinfo"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.clicklike.do.cancelikeinfo"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.clicklike.do.getclickcount"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.addCollectMessage"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getMyCollectionList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.deleteCollectMessage"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.diabetes.info.do.getInfoVedioList"               ,new CheckItem(Boolean.FALSE ,Boolean.FALSE ,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//------------------------泰康医生---------------------------------
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.login"                  	    ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.identityWhenReg"                ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.identityWhenReset"              ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.identityWhenReg1"                ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.identityWhenReset1"              ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.passreset1"                      ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.passreset"                      ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//注册
			ACTION_REGISTRY.put("app.doctor.doctor.login.do.regist"                   	    ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//激活
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.updateActivation" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//我的服务
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.getDate" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//获取客户基本信息
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.getUserBaseInformation" ,new CheckItem(Boolean.FALSE,Boolean.TRUE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//更新客户基本信息
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.updateUserBaseInformation" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//客户更改密码
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.upatePassword" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//上传用户头像
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.updateImage" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.userbase.do.updateIcon" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//资讯
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getMessageTop" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getMessageList" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getMessageH" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.addCollectMessage" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getnewMessage" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getMyCollectionList" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.deleteCollectMessage" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getMessage" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//首页banner
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getLocalState" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getBannerDetails" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.addBannerCollection" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.deleteBannerCollection" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getCollInfoAndBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.getBannerDetail" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.topMessage" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthmessage.do.healthConsultation" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//中医体质评估
			ACTION_REGISTRY.put("app.doctor.doctor.evaOfTraChiMedicine.do.getQuestion" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.evaOfTraChiMedicine.do.saveQuestionrResult" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.evaOfTraChiMedicine.do.getQuestionrResult" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.evaOfTraChiMedicine.do.getCorporeitySolar" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			ACTION_REGISTRY.put("app.doctor.doctor.evaOfTraChiMedicine.do.getJqys" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));

			//pm
			ACTION_REGISTRY.put("app.doctor.doctor.airNowAction.do.getAirNowByCityName" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//获取im用户信息
			ACTION_REGISTRY.put("app.doctor.doctor.registerCustomer.do.getRegisterCustomer" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//健康计划
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.getHealthPlanList" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.addHealthPlan" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.updateHealthPlando" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.deleteHealthPlan" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.updateHealthPlan" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthPlan.do.getTime" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			//评估报告
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.metabolicSyndrome" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.submitdxzhz" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.submittnb" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.dMReport" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.cHDReport" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.submitgxy" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.hypertensionReport" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.submitxxg" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.submitResulthealthRisks" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.assess.do.resulthealthRisks" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			
			
			//获取症状列表
			ACTION_REGISTRY.put("app.doctor.doctor.healthAutognosis.do.getSymptomList" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.healthAutognosis.do.getAutognosisQuestion" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
		
			//获取APP版本号
			ACTION_REGISTRY.put("app.doctor.doctor.version.do.getVersion" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//甜蜜人生
			ACTION_REGISTRY.put("app.doctor.doctor.diabeteslife.do.login" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.diabeteslife.do.saveSugar" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.diabeteslife.do.getSugarList" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.diabeteslife.do.delSugarList" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("app.doctor.doctor.diabeteslife.do.showCalendar" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			//网页
			ACTION_REGISTRY.put("server.doctor.diabetes.login.do.login"                  	,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.getBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.addBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.doctor.message.do.deleteBanner" ,new CheckItem(Boolean.FALSE ,Boolean.FALSE,Boolean.TRUE,RequestItemCount.NOT_EMPTY_AND_ONE));
			
			ACTION_REGISTRY.put("server.doctor.diabetes.roleManagement.do.getAllRole"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.userManagement.do.getAllUser"           ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE ,RequestItemCount.NOT_EMPTY_AND_ONE));
			//问卷
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.getUid" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.getQuestion" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.saveQuestionrResult" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.getQuestionrResult" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.getCorporeitySolar" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));
			ACTION_REGISTRY.put("server.doctor.diabetes.questionnaire.do.getJqys" ,new CheckItem(Boolean.FALSE,Boolean.FALSE,Boolean.FALSE,RequestItemCount.NOT_EMPTY_AND_ONE));

					
		}
		
		public static ActionMethodRegistry getInstance(){
			return actionRegistry;
		}
		
		
		public Boolean containsMethod(String actionMethodKey){
			return ACTION_REGISTRY.keySet().contains(actionMethodKey);
		}
		
		public Boolean isCheckStr(String actionMethodKey){
			logger.info("actionMethodKey:"+actionMethodKey);
			if(containsMethod(actionMethodKey)){
				return ACTION_REGISTRY.get(actionMethodKey).getIsCheckStr();
			}else{
				throw new TKException("ACTION_METHOD_NOT_REGIST");
			}	
		}
		
		public Boolean isCheckSession(String actionMethodKey){
			if(containsMethod(actionMethodKey)){
				return ACTION_REGISTRY.get(actionMethodKey).getIsCheckSession();
			}else{
				throw new TKException("ACTION_METHOD_NOT_REGIST");
			}	
		}
		
		public Boolean isCheckUid(String actionMethodKey){
			if(containsMethod(actionMethodKey)){
				return ACTION_REGISTRY.get(actionMethodKey).getIsCheckUid();
			}else{
				throw new TKException("ACTION_METHOD_NOT_REGIST");
			}	
		}
		
		
		
		public String getRequestItemCount(String actionMethodKey){
			if(containsMethod(actionMethodKey)){
				return ACTION_REGISTRY.get(actionMethodKey).getRequestItemCount();
			}else{
				throw new TKException("ACTION_METHOD_NOT_REGIST");
			}	
		}
		
		
		
		/**
		 * 获取URL
		 */
		public String getActionUrlKey(HttpServletRequest  request) {
			String pathinfo = request.getServletPath();
			if (StringUtils.startsWith(pathinfo, "/")) {
				pathinfo = StringUtils.substring(pathinfo, 1);
			}
			pathinfo = StringUtils.replace(pathinfo, "/", ".");
			return pathinfo;
		}
		
		/**
		 * 获取方法的唯一标识key
		 */
		public String getActionMethodKey(HttpServletRequest  request, String method) {
			if(StringUtils.isEmpty(method)){
				throw new TKException("method motho must not be null");
			}
			String requestKey = getActionUrlKey(request) + "." + method;
			return requestKey;
		}

}
